package com.hsurosy.domain.activity.model.entity;

import com.hsurosy.domain.activity.model.valobj.OrderStateVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author Hsu琛君珩
 * @Date 2024-11-04 17:11
 * @Description 活动参与实体 举例：用户user123下单参与了活动1001的抽奖，订单号为ORD12345，此次订单总计5次抽奖参与，其中1次为日参与，3次为月参与，状态为"completed"。
 * @Version: v1.0.0
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityOrderEntity {

    /** 用户ID */
    private String userId;
    /** sku */
    private Long sku;
    /** 活动ID */
    private Long activityId;
    /** 活动名称 */
    private String activityName;
    /** 抽奖策略ID */
    private Long strategyId;
    /** 订单ID */
    private String orderId;
    /** 下单时间 */
    private Date orderTime;
    /** 总次数 */
    private Integer totalCount;
    /** 日次数 */
    private Integer dayCount;
    /** 月次数 */
    private Integer monthCount;
    /** 支付金额 */
    private BigDecimal payAmount;
    /** 订单状态(Complete) */
    private OrderStateVO state;
    /** 业务防重ID - 外部透传，确保幂等 */
    private String outBusinessNo;

}
